/*
 * Copyright (C) 2017 yixun All Rights Reserved.
 * 
 * ProjectPmo.java
 */
package com.emm.yixun.common.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * [文件名称]<br>
 * ProjectPmo.java<br>
 * <br>
 * [文件描述]<br>
 * 项目信息表，主要用于存储绿城PMO信息 pojo bean<br>
 * <br>
 * [修改记录]<br>
 * 2017-03-23 18:01:47 创建<br>
 * 
 * @version 1.00
 */
public class ProjectPmo implements Serializable {
	/**
	 * 序列化UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	private Long id;
	/**
	 * 外键、关联房产项目表（pro_tm_project）
	 */
	private Long projectId;
	/**
	 * 开发周期,格式yyyymmdd-yyyymmdd
	 */
	private String devlopCycle;
	/**
	 * 计划销售额：单位：万元。
	 */
	private BigDecimal planneSalesAmount;
	/**
	 * 计划回款额：单位：万元。
	 */
	private BigDecimal planneBackAmount;
	/**
	 * 目标货值，单位：万元。
	 */
	private BigDecimal targetValue;
	/**
	 * 项目开始日期，格式：yyyymmdd
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date startDate;
	/**
	 * 项目截止日期，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date endDate;
	/**
	 * 开工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date actualStartOperatDate;
	/**
	 * 交付日期-实际，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date actualDueDate;
	/**
	 * 首开日期-计划，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date planneFirstDayStartOperat;
	/**
	 * 首开日期-实际，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date actualFirstDayStartOperat;
	/**
	 * 竣工日期-计划，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date planneCompleDate;
	/**
	 * 竣工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date actualCompleDate;
	/**
	 * 监理单位
	 */
	private String supervUnit;
	/**
	 * 总包单位
	 */
	private String contraUnit;
	/**
	 * 景观单位
	 */
	private String sightUnit;
	/**
	 * 精装修单位
	 */
	private String decoraUnit;
	/**
	 * 设计单位[新增字段]
	 */
	private String designUnit;
	/**
	 * 自持面积，单位：万平方米
	 */
	private BigDecimal selfSustaiAcreag;
	/**
	 * 栋数，单位：栋[需增加字段]
	 */
	private Integer numberOfBuildi;
	/**
	 * 赠送面积，单位：平方米
	 */
	private BigDecimal presenAcreag;
	/**
	 * 地上可售面积，单位：万平方米[需新增字段]
	 */
	private BigDecimal groundSalesAcreag;
	/**
	 * 地下可售面积，单位：万平方米[需新增字段]
	 */
	private BigDecimal undergSalesAcreag;
	/**
	 * 可售套数，单位：套[需新增字段]
	 */
	private Integer salableNumber;
	/**
	 * 外键、关联商户信息表（tm_mer_merchant
	 */
	private Long merchantId;
	/**
	 * 创建时间
	 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 * 更新时间
	 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**
	 * 是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	private String delFlag;
	/**
	 * PMO项目编码
	 */
	private String pmoProjectCode;
	/**
	 * 目标销售均价
	 */
	private BigDecimal targetAveragPrice;
	/**
	 * 车位目标销售均价,单位：万元。
	 */
	private BigDecimal targetPriceOfParkinSpace;
	/**
	 * 目标货值版本：版本取值：拓展版、启动会版、方案版、施工图版、结算版、经营计划版，成本版本和货值版本同
	 */
	private String targetValueVersion;
	/**
	 * 项目案名
	 */
	private String projecCaseName;
	/**
	 * 建设类型
	 */
	private String constrType;
	/**
	 * 计划销售额,注：运营提供全年每月计划值
	 */
	private String planneSalesAmountJson;
	/**
	 * 计划回款额，注：运营提供全年每月计划值
	 */
	private String planneBackAmountJson;

	/**
	 * 项目推广名称
	 */
	private String promotName;
	/**
	 * 项目名称
	 */
	private String pmoProjectName;
	
	/**
	 *目标货值生效时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date targetValueTime;
	/**
	 *目标销售均价生效时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date targetAveragPriceTime;
	/**
	 *车位目标销售均价生效时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date targetPriceOfParkinSpaceTime;
	/**
	 *目标销售均价版本
	 */
	private String targetAveragPriceVersion;
	/**
	 *车位目标销售均价版本
	 */
	private String targetPriceOfParkinVersion;
	
	
	

	public String getPmoProjectName() {
		return pmoProjectName;
	}

	public void setPmoProjectName(String pmoProjectName) {
		this.pmoProjectName = pmoProjectName;
	}

	/**
	 * 设置 :ID
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * 获取 :ID
	 */
	public Long getId() {
		return this.id;
	}

	/**
	 * 设置 :外键、关联房产项目表（pro_tm_project）
	 */
	public void setProjectId(Long projectId) {
		this.projectId = projectId;
	}

	/**
	 * 获取 :外键、关联房产项目表（pro_tm_project）
	 */
	public Long getProjectId() {
		return this.projectId;
	}

	/**
	 * 设置 :开发周期,格式yyyymmdd-yyyymmdd
	 */
	public void setDevlopCycle(String devlopCycle) {
		this.devlopCycle = devlopCycle;
	}

	/**
	 * 获取 :开发周期,格式yyyymmdd-yyyymmdd
	 */
	public String getDevlopCycle() {
		return this.devlopCycle;
	}

	/**
	 * 设置 :计划销售额：单位：万元。
	 */
	public void setPlanneSalesAmount(BigDecimal planneSalesAmount) {
		this.planneSalesAmount = planneSalesAmount;
	}

	/**
	 * 获取 :计划销售额：单位：万元。
	 */
	public BigDecimal getPlanneSalesAmount() {
		return this.planneSalesAmount;
	}

	/**
	 * 设置 :计划回款额：单位：万元。
	 */
	public void setPlanneBackAmount(BigDecimal planneBackAmount) {
		this.planneBackAmount = planneBackAmount;
	}

	/**
	 * 获取 :计划回款额：单位：万元。
	 */
	public BigDecimal getPlanneBackAmount() {
		return this.planneBackAmount;
	}

	/**
	 * 设置 :目标货值，单位：万元。
	 */
	public void setTargetValue(BigDecimal targetValue) {
		this.targetValue = targetValue;
	}

	/**
	 * 获取 :目标货值，单位：万元。
	 */
	public BigDecimal getTargetValue() {
		return this.targetValue;
	}

	/**
	 * 设置 :项目开始日期，格式：yyyymmdd
	 */
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	/**
	 * 获取 :项目开始日期，格式：yyyymmdd
	 */
	public Date getStartDate() {
		return this.startDate;
	}

	/**
	 * 设置 :项目截止日期，格式：yyyymmdd[需新增字段]
	 */
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	/**
	 * 获取 :项目截止日期，格式：yyyymmdd[需新增字段]
	 */
	public Date getEndDate() {
		return this.endDate;
	}

	/**
	 * 设置 :开工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public void setActualStartOperatDate(Date actualStartOperatDate) {
		this.actualStartOperatDate = actualStartOperatDate;
	}

	/**
	 * 获取 :开工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public Date getActualStartOperatDate() {
		return this.actualStartOperatDate;
	}

	/**
	 * 设置 :交付日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public void setActualDueDate(Date actualDueDate) {
		this.actualDueDate = actualDueDate;
	}

	/**
	 * 获取 :交付日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public Date getActualDueDate() {
		return this.actualDueDate;
	}

	/**
	 * 设置 :首开日期-计划，格式：yyyymmdd[需新增字段]
	 */
	public void setPlanneFirstDayStartOperat(Date planneFirstDayStartOperat) {
		this.planneFirstDayStartOperat = planneFirstDayStartOperat;
	}

	/**
	 * 获取 :首开日期-计划，格式：yyyymmdd[需新增字段]
	 */
	public Date getPlanneFirstDayStartOperat() {
		return this.planneFirstDayStartOperat;
	}

	/**
	 * 设置 :首开日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public void setActualFirstDayStartOperat(Date actualFirstDayStartOperat) {
		this.actualFirstDayStartOperat = actualFirstDayStartOperat;
	}

	/**
	 * 获取 :首开日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public Date getActualFirstDayStartOperat() {
		return this.actualFirstDayStartOperat;
	}

	/**
	 * 设置 :竣工日期-计划，格式：yyyymmdd[需新增字段]
	 */
	public void setPlanneCompleDate(Date planneCompleDate) {
		this.planneCompleDate = planneCompleDate;
	}

	/**
	 * 获取 :竣工日期-计划，格式：yyyymmdd[需新增字段]
	 */
	public Date getPlanneCompleDate() {
		return this.planneCompleDate;
	}

	/**
	 * 设置 :竣工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public void setActualCompleDate(Date actualCompleDate) {
		this.actualCompleDate = actualCompleDate;
	}

	/**
	 * 获取 :竣工日期-实际，格式：yyyymmdd[需新增字段]
	 */
	public Date getActualCompleDate() {
		return this.actualCompleDate;
	}

	/**
	 * 设置 :监理单位
	 */
	public void setSupervUnit(String supervUnit) {
		this.supervUnit = supervUnit;
	}

	/**
	 * 获取 :监理单位
	 */
	public String getSupervUnit() {
		return this.supervUnit;
	}

	/**
	 * 设置 :总包单位
	 */
	public void setContraUnit(String contraUnit) {
		this.contraUnit = contraUnit;
	}

	/**
	 * 获取 :总包单位
	 */
	public String getContraUnit() {
		return this.contraUnit;
	}

	/**
	 * 设置 :景观单位
	 */
	public void setSightUnit(String sightUnit) {
		this.sightUnit = sightUnit;
	}

	/**
	 * 获取 :景观单位
	 */
	public String getSightUnit() {
		return this.sightUnit;
	}

	/**
	 * 设置 :精装修单位
	 */
	public void setDecoraUnit(String decoraUnit) {
		this.decoraUnit = decoraUnit;
	}

	/**
	 * 获取 :精装修单位
	 */
	public String getDecoraUnit() {
		return this.decoraUnit;
	}

	/**
	 * 设置 :设计单位[新增字段]
	 */
	public void setDesignUnit(String designUnit) {
		this.designUnit = designUnit;
	}

	/**
	 * 获取 :设计单位[新增字段]
	 */
	public String getDesignUnit() {
		return this.designUnit;
	}

	/**
	 * 设置 :自持面积，单位：万平方米
	 */
	public void setSelfSustaiAcreag(BigDecimal selfSustaiAcreag) {
		this.selfSustaiAcreag = selfSustaiAcreag;
	}

	/**
	 * 获取 :自持面积，单位：万平方米
	 */
	public BigDecimal getSelfSustaiAcreag() {
		return this.selfSustaiAcreag;
	}

	/**
	 * 设置 :栋数，单位：栋[需增加字段]
	 */
	public void setNumberOfBuildi(Integer numberOfBuildi) {
		this.numberOfBuildi = numberOfBuildi;
	}

	/**
	 * 获取 :栋数，单位：栋[需增加字段]
	 */
	public Integer getNumberOfBuildi() {
		return this.numberOfBuildi;
	}

	/**
	 * 设置 :赠送面积，单位：平方米
	 */
	public void setPresenAcreag(BigDecimal presenAcreag) {
		this.presenAcreag = presenAcreag;
	}

	/**
	 * 获取 :赠送面积，单位：平方米
	 */
	public BigDecimal getPresenAcreag() {
		return this.presenAcreag;
	}

	/**
	 * 设置 :地上可售面积，单位：万平方米[需新增字段]
	 */
	public void setGroundSalesAcreag(BigDecimal groundSalesAcreag) {
		this.groundSalesAcreag = groundSalesAcreag;
	}

	/**
	 * 获取 :地上可售面积，单位：万平方米[需新增字段]
	 */
	public BigDecimal getGroundSalesAcreag() {
		return this.groundSalesAcreag;
	}

	/**
	 * 设置 :地下可售面积，单位：万平方米[需新增字段]
	 */
	public void setUndergSalesAcreag(BigDecimal undergSalesAcreag) {
		this.undergSalesAcreag = undergSalesAcreag;
	}

	/**
	 * 获取 :地下可售面积，单位：万平方米[需新增字段]
	 */
	public BigDecimal getUndergSalesAcreag() {
		return this.undergSalesAcreag;
	}

	/**
	 * 设置 :可售套数，单位：套[需新增字段]
	 */
	public void setSalableNumber(Integer salableNumber) {
		this.salableNumber = salableNumber;
	}

	/**
	 * 获取 :可售套数，单位：套[需新增字段]
	 */
	public Integer getSalableNumber() {
		return this.salableNumber;
	}

	/**
	 * 设置 :外键、关联商户信息表（tm_mer_merchant
	 */
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取 :外键、关联商户信息表（tm_mer_merchant
	 */
	public Long getMerchantId() {
		return this.merchantId;
	}

	/**
	 * 设置 :创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 * 获取 :创建时间
	 */
	public Date getCreateTime() {
		return this.createTime;
	}

	/**
	 * 设置 :更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 获取 :更新时间
	 */
	public Date getUpdateTime() {
		return this.updateTime;
	}

	/**
	 * 设置 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	/**
	 * 获取 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public String getDelFlag() {
		return this.delFlag;
	}

	/**
	 * 设置 :PMO项目编码
	 */
	public void setPmoProjectCode(String pmoProjectCode) {
		this.pmoProjectCode = pmoProjectCode;
	}

	/**
	 * 获取 :PMO项目编码
	 */
	public String getPmoProjectCode() {
		return this.pmoProjectCode;
	}

	/**
	 * 设置 :目标销售均价
	 */
	public void setTargetAveragPrice(BigDecimal targetAveragPrice) {
		this.targetAveragPrice = targetAveragPrice;
	}

	/**
	 * 获取 :目标销售均价
	 */
	public BigDecimal getTargetAveragPrice() {
		return this.targetAveragPrice;
	}

	/**
	 * 设置 :车位目标销售均价,单位：万元。
	 */
	public void setTargetPriceOfParkinSpace(BigDecimal targetPriceOfParkinSpace) {
		this.targetPriceOfParkinSpace = targetPriceOfParkinSpace;
	}

	/**
	 * 获取 :车位目标销售均价,单位：万元。
	 */
	public BigDecimal getTargetPriceOfParkinSpace() {
		return this.targetPriceOfParkinSpace;
	}

	/**
	 * 设置 :目标货值版本：版本取值：拓展版、启动会版、方案版、施工图版、结算版、经营计划版，成本版本和货值版本同
	 */
	public void setTargetValueVersion(String targetValueVersion) {
		this.targetValueVersion = targetValueVersion;
	}

	/**
	 * 获取 :目标货值版本：版本取值：拓展版、启动会版、方案版、施工图版、结算版、经营计划版，成本版本和货值版本同
	 */
	public String getTargetValueVersion() {
		return this.targetValueVersion;
	}

	/**
	 * 设置 :项目案名
	 */
	public void setProjecCaseName(String projecCaseName) {
		this.projecCaseName = projecCaseName;
	}

	/**
	 * 获取 :项目案名
	 */
	public String getProjecCaseName() {
		return this.projecCaseName;
	}

	/**
	 * 设置 :建设类型
	 */
	public void setConstrType(String constrType) {
		this.constrType = constrType;
	}

	/**
	 * 获取 :建设类型
	 */
	public String getConstrType() {
		return this.constrType;
	}

	/**
	 * 设置 :计划销售额,注：运营提供全年每月计划值
	 */
	public void setPlanneSalesAmountJson(String planneSalesAmountJson) {
		this.planneSalesAmountJson = planneSalesAmountJson;
	}

	/**
	 * 获取 :计划销售额,注：运营提供全年每月计划值
	 */
	public String getPlanneSalesAmountJson() {
		return this.planneSalesAmountJson;
	}

	/**
	 * 设置 :计划回款额，注：运营提供全年每月计划值
	 */
	public void setPlanneBackAmountJson(String planneBackAmountJson) {
		this.planneBackAmountJson = planneBackAmountJson;
	}

	/**
	 * 获取 :计划回款额，注：运营提供全年每月计划值
	 */
	public String getPlanneBackAmountJson() {
		return this.planneBackAmountJson;
	}

	public String getPromotName() {
		return promotName;
	}

	public void setPromotName(String promotName) {
		this.promotName = promotName;
	}

	public Date getTargetValueTime() {
		return targetValueTime;
	}

	public void setTargetValueTime(Date targetValueTime) {
		this.targetValueTime = targetValueTime;
	}

	public Date getTargetAveragPriceTime() {
		return targetAveragPriceTime;
	}

	public void setTargetAveragPriceTime(Date targetAveragPriceTime) {
		this.targetAveragPriceTime = targetAveragPriceTime;
	}

	public Date getTargetPriceOfParkinSpaceTime() {
		return targetPriceOfParkinSpaceTime;
	}

	public void setTargetPriceOfParkinSpaceTime(Date targetPriceOfParkinSpaceTime) {
		this.targetPriceOfParkinSpaceTime = targetPriceOfParkinSpaceTime;
	}

	public String getTargetAveragPriceVersion() {
		return targetAveragPriceVersion;
	}

	public void setTargetAveragPriceVersion(String targetAveragPriceVersion) {
		this.targetAveragPriceVersion = targetAveragPriceVersion;
	}

	public String getTargetPriceOfParkinVersion() {
		return targetPriceOfParkinVersion;
	}

	public void setTargetPriceOfParkinVersion(String targetPriceOfParkinVersion) {
		this.targetPriceOfParkinVersion = targetPriceOfParkinVersion;
	}
	
	

}
